home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Grafik / Misc / ImageEnginer / ARexx / Roll.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1999-10-03  |  2.9 KB  |  198 lines

  1. /*
  2.  
  3.    v1.00 Roll
  4.  
  5.    Marko Seppänen
  6.    marko.seppanen@wwnet.fi
  7.  
  8. */
  9.  
  10.  
  11. address IMAGEENGINEER
  12.  
  13. Options results
  14.  
  15.  
  16. if arg()=0 then exit
  17. x=arg(1)
  18. parse var x pic xroll yroll .
  19.  
  20.  
  21.  
  22. MARK pic PRIMARY
  23. PROJECT_INFO pic WIDTH
  24. picwidth=result
  25. PROJECT_INFO pic HEIGHT
  26. picheight=result
  27. PROJECT_INFO pic ZOOM
  28. origzoomval=result
  29.  
  30.  
  31. 'PROJECT_INFO' pic 'BOX'
  32. cropbox=result
  33.  
  34. parse var cropbox TEST1 TEST2 TEST3 TEST4 .
  35.  
  36. signal on error
  37.  
  38.  
  39.  
  40. /* DOES CROPBOX EXIST AND IS IT LARGE ENOUGH? */
  41.  
  42.  
  43. if TEST4~="" then do
  44.  
  45.   CROPBIT=1
  46.   parse var cropbox x0 y0 x1 y1
  47.  
  48.   cropwidth=x1-x0
  49.   cropheight=y1-y0
  50.  
  51.   if cropwidth < 5 & cropheight < 5 then do
  52.  
  53.     CROPBIT=0
  54.     x0=0
  55.     y0=0
  56.     x1=picwidth
  57.     y1=picheight
  58.     cropwidth=picwidth-1
  59.     cropheight=picheight-1
  60.  
  61.   end
  62.  
  63. end
  64. else do
  65.  
  66.   x0=0
  67.   y0=0
  68.   x1=picwidth
  69.   y1=picheight
  70.   cropwidth=picwidth-1
  71.   cropheight=picheight-1
  72.  
  73. end
  74.  
  75.  
  76.  
  77.  
  78. /* CONFIG */
  79.  
  80.  
  81. if exists("ie:prefs/veroll.cfg") == "1" then
  82.   do
  83.     call open("temp","ie:prefs/veroll.cfg","R")
  84.     values=readln("temp")
  85.     parse var values ok xroll yroll .
  86.     call close("temp")
  87.   end
  88. else
  89.   do
  90.     xroll=0
  91.     yroll=0
  92.   end
  93.  
  94. 'FORM "Roll" "Use|Cancel"',
  95. 'INTEGER,"X-rollvalue",-'cropwidth','cropwidth','xroll',SLIDER',
  96. 'INTEGER,"Y-rollvalue",-'cropheight','cropheight','yroll',SLIDER'
  97.  
  98. values=result
  99. parse var values ok xroll yroll .
  100.  
  101. if ok = 0 then exit
  102.  
  103. call open("temp","ie:prefs/veroll.cfg","W")
  104. res=writeln("temp",values)
  105. call close("temp")
  106.  
  107.  
  108.  
  109.  
  110. /* ROLLER */
  111.  
  112.  
  113. if cropbit == 1 then do
  114.  
  115.   CROP pic x0 y0 x1 y1
  116.   croppic=result
  117.  
  118.   PROJECT_SET croppic ZOOM origzoomval
  119.  
  120. end
  121. else croppic=pic
  122.  
  123.  
  124. if xroll ~== 0 then do
  125.  
  126.   MARK croppic PRIMARY
  127.   MARK croppic SECONDARY
  128.   COMPOSITE xroll 0 MIX 100
  129.   rol1=result
  130.  
  131.   MARK croppic PRIMARY
  132.   MARK rol1 SECONDARY
  133.   if sign(xroll) == "-1" then COMPOSITE cropwidth+xroll 0 MIX 100
  134.   else COMPOSITE 0-cropwidth+xroll 0 MIX 100
  135.   rol2=result
  136.  
  137.   CLOSE rol1
  138.   if cropbit == 1 then CLOSE croppic
  139.   croppic=rol2
  140.  
  141. end
  142.  
  143. if yroll ~== 0 then do
  144.  
  145.   MARK croppic PRIMARY
  146.   MARK croppic SECONDARY
  147.   COMPOSITE 0 yroll MIX 100
  148.   rol1=result
  149.  
  150.   MARK croppic PRIMARY
  151.   MARK rol1 SECONDARY
  152.   if sign(yroll) == "-1" then COMPOSITE 0 cropheight+yroll MIX 100
  153.   else COMPOSITE 0 0-cropheight+yroll MIX 100
  154.   rol2=result
  155.  
  156.   CLOSE rol1
  157.   if cropbit == 1 then CLOSE croppic
  158.   else if xroll ~== 0 then CLOSE croppic
  159.   croppic=rol2
  160.  
  161. end
  162.  
  163.  
  164. MARK croppic PRIMARY
  165. MARK pic SECONDARY
  166. COMPOSITE x0 y0 MIX 100
  167. final=result
  168.  
  169. CLOSE croppic
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177. exit
  178.  
  179.  
  180. /*******************************************************************/
  181. /* This is where control goes when an error code is returned by IE */
  182. /* It puts up a message saying what happened and on which line     */
  183. /*******************************************************************/
  184.  
  185. error:
  186. if RC=5 then do
  187.     IE_TO_FRONT
  188.     LAST_ERROR
  189.     'REQUEST "'||RESULT||'"'
  190.     exit
  191. end
  192. else do
  193.     IE_TO_FRONT
  194.     LAST_ERROR
  195.     'REQUEST "Error detected!!!'||D2C(10)||'Image Engineer error message is as follows'||D2C(10)||result||D2C(10)||'Script failed on line '||SIGL||'"' ' OK '
  196.     exit
  197. end
  198.